草庐IT

java - 从 URL 获取文件名

全部标签

ruby - 创建空文件夹 S3 ruby​​ SDK

我想使用ruby​​sdk在amazonS3中创建一个空文件夹。我读到S3中没有文件夹概念,所以理论上要创建一个文件夹,您只需创建一个带有尾随“/”的空对象s3=Aws::S3::Client.new(region:'eu-west-1',credentials:creds)s3.put_object(bucket:"my_bucket",key:"my_folder/")这样做会在我的存储桶上创建一个空对象,但是如果我尝试上传这样的文件:s3.put_object(bucket:"my_bucket",key:"my_folder/myfile")它不会在my_folder中创建文件

ruby-on-rails - 不同文件类型的载波文件上传

我的FileUploader如下:classFileUploader我从carrierwavegithub页面上得到了这个。它主要工作,但如果我不想要不同的版本怎么办?如果它是pdf,我基本上只想执行某些过程,如果它是图像,我只想执行某些过程。将来我也可能允许其他类型的文件,所以如果我也能有一种简单的方法来做到这一点,那就太棒了。例如,如果是图像,我可能想使用imgoptim,如果是pdf,我可能想使用pdf优化库,等等。我试过:iffile.content_type="application/pdf"#Dopdfthingselsiffile.content_type.start_w

ruby - 如何使用 Rack 为特定文件设置内容类型?

我想让Rack提供具有特定内容类型的特定文件。它是一个.htc文件,需要作为text/x-component提供,以便IE识别它。在apache中我会这样做AddTypetext/x-component.htc如何使用Rack实现这一目标?目前该文件由Rack::Static提供,但我没有找到设置内容类型的选项。 最佳答案 您可以像这样更新您的config/initializers/mime_types.rb:#Besuretorestartyourserverwhenyoumodifythisfile.#Addnewmimetyp

ruby - 获取 Bundler 项目使用的 gem 列表

有没有办法获取Bundler(这是一个Rails3)项目为当前项目加载的gem列表或路径。我正在寻找类似的东西:Gem.path但这只会返回Gemfile中Bundler主动要求的那些。 最佳答案 我要找的是这个:Gem.loaded_specs.values.map{|g|g.full_gem_path} 关于ruby-获取Bundler项目使用的gem列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

ruby-on-rails - Railties 的可执行文件 "rails"与/usr/bin/rails 冲突

我正在尝试使用命令sudogeminstallrails安装rails但是,当我这样做时,我收到以下错误消息:railties'sexecutable"rails"conflictswith/usr/bin/railsOverwritetheexecutable?[yN]我目前没有安装rails,我也不打算安装RVM或rbenv,尽管我可能会在以后安装。注意当前未安装Rails有人可以建议我应该做什么吗?谢谢 最佳答案 我刚刚在我的MacBook上安装Rails时遇到了这个问题。我打开/usr/bin/目录并在文本编辑器中打开“ra

ruby-on-rails - rails - 使用 Group_by 时 - 如何获取索引?

我有以下内容:sets=DataSet.all.group_by{|data|[data.project_id,"-",data.thread_id].join("")}:LastPost问题是我需要一个索引。所以我更新了上面的内容::LastPost然后中断,出现错误:undefinedmethod`last'for0:Fixnum想法?谢谢 最佳答案 您观察到的问题是因为参数分配给block的方式。在您的第二个示例中,您将观察到range包含一个包含单个range和匹配的datas的数组,datas变量包含索引,i始终为nil。

ruby - 获取包含毫秒的时间戳

我在OSX上经常使用这个命令来创建用于归档目的的时间戳:date-n+%Y%m%d%H%M%S这给出了这种格式的答案:20130625230005我想在此字符串的末尾添加毫秒。是否可以从命令行使用Ruby获取它?不幸的是,在OSX上无法通过向上面的命令添加一些内容来执行此操作:Addmillisecondstotimestamp(bash,unix) 最佳答案 DateTime#strftime具有毫秒的%L格式说明符:$ruby-e"putsTime.now.strftime('%Y%m%d%H%M%S%L')"201306251

ruby - 如何使用 Capybara 获取 HTML 表格行

我正在尝试使用部分hrefxpath扫描HTML表中的行,并对该行的其他列值执行进一步测试。link293348545.2934,00EURlink229348538.336.934,123EURlink3942738443.485,2839EUR在cucumber-jvm步骤定义中,我像下面这样轻松地执行了此操作(我更习惯使用Ruby)@Given("^ifthereare...$")publicvoidif_there_are...()throwsThrowable{......baseTable=driver.findElement(By.id("blah"));tblRows=

Ruby:Dir.glob 不返回任何文件

我正在尝试将文件从一个文件夹复制到另一个文件夹,然后将所有复制的文件的名称记录到一个日志文件中。这两个文件夹都在同一目录中,我通过命令行采用该路径。在我目前的程序中,这是通过argument3=ARGV[2]+"\\"成功成为“c:\user\alexander\desktop\”。然后我将桌面上的文件复制到桌面上已有的文件夹中system"copy#{argument3}*.*#{argument3}TestFolder"这也成功完成了我从cmd输出和检查文件夹本身验证的结果。最后,我尝试将文件名保存到路径为“c:\user\alexander\desktop\log.txt”的日志

ruby-on-rails - 如何记录某个 url 的整个请求( header 、正文等)?

我需要将所有请求(包括HTTPheader、正文等)记录到某个url。我试过这段代码:defindexglobal_request_loggingendprivatedefglobal_request_logginghttp_request_header_keys=request.headers.keys.select{|header_name|header_name.match("^HTTP.*")}http_request_headers=request.headers.select{|header_name,header_value|http_request_header_key